SIP (Session Initiation Protocol) is an application-layer control (signaling) protocol which cooperates with other protocols to facilitate communication between Internet endpoints, which in this context are also referred to as “user agents”. More specifically, SIP can establish, modify, and terminate Internet telephony calls and other multimedia sessions. SIP provides support of this type by, among other things, locating the end point for a communication, ascertaining whether the called party is available, determining the media to be used and the corresponding media parameters, and setting up and managing the session. A thorough description of SIP may be found in J. Rosenberg et al., RFC 3261, The Internet Society (2002) (www.faqs.org/rfcs/rfc3261.html).
The logical entities that implement rules defined by the SIP protocol are referred to as “SIP elements” or “SIP agents”. SIP elements include user agent (UA) clients, UA servers, stateless proxies, stateful proxies, and registrars. Data sent between the SIP agents as part of the SIP protocol are referred to as “SIP messages”. A SIP message is either a request or a response.
A SIP message includes a header, and may also include a message body. The header is constructed as a sequence of one or more header fields which contain information about the message. A typical header field is populated by a header field name, and may also include a list of one or more header field values.
If the SIP message includes a message body, the pertinent header fields will specify the Internet media type and length of the message body, and whether it has undergone any compression or other encoding.
For a variety of reasons, it would be desirable to be able to send control messages and other data between specific agents in the SIP network without processing, or even without detection, of those messages by intermediary SIP agents. For example, a SIP agent may drop a header from a message passing through it if the agent fails to recognize the header. However, new SIP features and new extensions to SIP will generally require new headers. Even if the new headers can be processed by the agents at the pertinent endpoints of the network, there may be a danger of losing header information in transit unless the entire network has been overhauled. Thus, it would promote the early introduction of new SIP features, before operators invest in network overhaul, if the new headers could be embedded so as to evade processing by intermediary agents.
Other uses for such embedded information might include peer-to-peer communication between specified SIP proxies or agents of transactional or billing information, recording of signaling information for specific sessions between agents for subsequent processing, or communication of information for monitoring network operations, while excluding other proxies and agents from access to the information.